package cn.wit.test;

import org.junit.Test;

/**
 * 求子字符串
 * 注意点：尽量去避免一个变量flag去实现多个功能，宁可重新定义一个新的变量
 * @author 16604
 *
 */
public class DemoSubString {
	@Test
	public void test() {
//		String str = "hello world";
		String str = "   ";
//		System.out.println(str.length());
//		System.out.println(str.substring(6));

//		String sub = "world";
//		System.out.println(str.indexOf(sub));
		
		System.out.println(LastWorld(str));
	}
	
	public int LastWorld(String str) {
		int i;
		boolean flag =true;
		for(i =str.length()-1;i>=0;i--) {
			//有两个功能，第一次过滤空格，第二次找到空格后，跳出循环
			if(str.charAt(i)==' ') {
				if(flag==false)
				break;
				continue;
			}
			flag = false;//不仅证明包含字符，也可以用来跳出循环
		}
		if(flag==true)//字符串里面不包含字符时
			return -1;
		return i+1;
	}

	// 两个字符串
	public int indexOf(String str, String sub) {
		for (int i = 0; i < str.length(); i++) {
			for (int j = 0; j < sub.length() && (i + j) < str.length() - 1; j++) {
				char c1 = str.charAt(i + j);
				char c2 = sub.charAt(j);

				if (c1 != c2) {
					break;
				}
				// 如果比较到了最后一个
				if (j == sub.length() - 1) {
					return i;
				}
			}
		}
		return -1;
	}

}
